package com.ltu.myannotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @Description: 自定义reids注解缓存数据
 * @author: 若尘
 * @date 2019年4月15日 下午12:22:44
 * @version V1.0
 */
@Target(ElementType.METHOD) // 作用范围
@Retention(RetentionPolicy.RUNTIME) // 指定注解保留到什么时候
@Documented
public @interface MyReidsCache {
	/**
	 * @Description 是否强制更新 默认false
	 */
	boolean compelUpdate() default false;

	/**
	 * @Description 缓存时 的key名称
	 */
	String key() default "";

	/**
	 * @Description key的组成部分， 如果缓存数组请忽略该属性
	 */
	String fieldKey() default "";

	/**
	 * @Description 缓存周期
	 */
	int expireTime() default 3600;

	/**
	 * @Description 周期单位
	 */
	TimeUnit timeUnit() default TimeUnit.SECONDS;
	/**
	 * @Description 默认不开启缓存
	 */
	boolean enable() default false;

}
